package com.heima.kafka.consumer;

/**
 * 什么是单例模式 （这个类有且仅有一个对象）
 * 懒汉模式(用的时候再创建)     饿汉模式（直接new）
 * 双重锁
 */
public class SingletDemo {
    //3.创建一个返回值对象
    private static volatile SingletDemo singletDemo = null;
    //1.私有化构造器
    private SingletDemo(){
    }
    //2.提供一个方法，生产唯一的一个对象
    public synchronized static SingletDemo getSinglet(){
        if(singletDemo == null){
            singletDemo = new SingletDemo();
        }
        return singletDemo;
    }
}


class Demo{
    public static void main(String[] args) {
        //反射，违反了面向对象
        SingletDemo singlet1 = SingletDemo.getSinglet();
        SingletDemo singlet2 = SingletDemo.getSinglet();
        System.out.println(singlet1 == singlet2);
    }
}